Skip to content

Add OpenConfig DNS provider implementation - #469

Closed
rgildein wants to merge 1 commit into
ironcore-dev:mainfrom
rgildein:feat/openconfig-dns
Closed

Add OpenConfig DNS provider implementation#469
rgildein wants to merge 1 commit into
ironcore-dev:mainfrom
rgildein:feat/openconfig-dns

Conversation

@rgildein

@rgildein rgildein commented Jul 29, 2026

Copy link
Copy Markdown

Implement EnsureDNS and DeleteDNS for the OpenConfig provider targeting SR Linux via gNMI. Maps DNSSpec. Domain to /system/dns/config/search and DNSSpec.Servers to /system/dns/servers/server list.
Rejects unsupported fields (adminState: Down, sourceInterfaceName, vrfName) with explicit UnsupportedFieldError.

How I tested it

$ kubectl apply -f - <<EOF
  apiVersion: networking.metal.ironcore.dev/v1alpha1
  kind: DNS
  metadata:
    name: dns
    namespace: default
  spec:
    deviceRef:
      name: leaf1
    domain: example.com
    servers:
      - address: 8.8.8.8
      - address: 1.1.1.1
EOF
dns.networking.metal.ironcore.dev/dns configured
$ gnmic -a 172.20.20.2 --port 57400 -u admin -p 'NokiaSrl1!' --skip-verify --encoding JSON_IETF get --path "openconfig-system:system/dns"
[
  {
    "source": "172.20.20.2",
    "timestamp": 1785331298950342192,
    "time": "2026-07-29T15:21:38.950342192+02:00",
    "updates": [
      {
        "Path": "openconfig-system:system/dns",
        "values": {
          "openconfig-system:system/dns": {
            "config": {
              "search": [
                "example.com"
              ]
            },
            "host-entries": {},
            "servers": {
              "server": [
                {
                  "address": "8.8.8.8",
                  "config": {
                    "address": "8.8.8.8"
                  },
                  "state": {
                    "address": "8.8.8.8"
                  }
                },
                {
                  "address": "1.1.1.1",
                  "config": {
                    "address": "1.1.1.1"
                  },
                  "state": {
                    "address": "1.1.1.1"
                  }
                }
              ]
            },
            "state": {
              "search": [
                "example.com"
              ]
            }
          }
        }
      }
    ]
  }
]

Implement EnsureDNS and DeleteDNS for the OpenConfig provider targeting
SR Linux via gNMI. Maps DNSSpec.Domain to /system/dns/config/search and
DNSSpec.Servers to /system/dns/servers/server list. Rejects unsupported
fields (adminState: Down, sourceInterfaceName, vrfName) with explicit
UnsupportedFieldError.

Signed-off-by: Robert Gildein <rgildein@users.noreply.github.com>
@rgildein rgildein self-assigned this Jul 29, 2026
@rgildein rgildein added area/switch-automation Automation processes for network switch management and operations. size/M labels Jul 29, 2026
@rgildein rgildein closed this Jul 30, 2026
@rgildein
rgildein deleted the feat/openconfig-dns branch July 30, 2026 12:28
@rgildein
rgildein restored the feat/openconfig-dns branch July 30, 2026 12:33
@rgildein rgildein reopened this Jul 30, 2026
@rgildein

Copy link
Copy Markdown
Author

replaced by: #471

@rgildein rgildein closed this Jul 30, 2026
@rgildein
rgildein deleted the feat/openconfig-dns branch July 30, 2026 12:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/switch-automation Automation processes for network switch management and operations. size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant